//
//  SVTableView.h
//  3333
//
//  Created by sujeking on 17/4/1.
//  Copyright © 2017年 szw. All rights reserved.
//

#import <UIKit/UIKit.h>

@class SVTableView;

@protocol SVTableViewDelegate <NSObject>

@optional

- (CGFloat)tableView:(SVTableView *)svtableview heightForRowAtIndexPath:(NSIndexPath *)indexPath;

- (CGFloat)tableView:(SVTableView *)svtableview heightForHeaderInSection:(NSInteger)section;

- (CGFloat)tableView:(SVTableView *)svtableview heightForFooterInSection:(NSInteger)section;

- (void)tableView:(SVTableView *)svtableview noDataTapAction:(UIGestureRecognizer *)sender;

- (void)tableView:(SVTableView *)svtableview didSelectRowAtIndexPath:(NSIndexPath *)indexPath;

@end

@protocol SVTableViewDataSource <NSObject>

- (NSInteger)numberOfSectionsInTableView:(SVTableView *)svtableview;

- (NSInteger)svtableview:(SVTableView *)svtableview numberOfRowsInSection:(NSInteger)section;

- (UITableViewCell *)svtableview:(SVTableView *)svtableview cellForRowAtIndexPath:(NSIndexPath *)indexPath;

@end

@interface SVTableView : UIView

@property (strong, nonatomic) id<SVTableViewDataSource> dataSource;

@property (strong, nonatomic) id<SVTableViewDelegate> delegate;

- (void)endRefreshing;

- (instancetype)initWithRefreshCallBack:(void (^)())block;

- (UITableViewCell *)dequeueReusableCellWithIdentifier:(NSString *)identifier;

@end
